# -*- coding: utf-8 -*-
"""
主程序模块
整合所有功能模块，执行完整的门店数据处理流程
"""
import os
import datetime
import pandas as pd
from config_utils import load_and_validate_config
from db_utils import write_data_to_db, query_store_info_from_db
from wechat_utils import send_file_to_qywx

# 加载配置
CONFIG = load_and_validate_config()


def main():
    """
    主函数，执行完整的数据处理流程
    """
    print("===== 开始执行主程序 ====")
    
    # 1. 写入数据到数据库
    write_data_to_db()
    
    # 2. 查询门店信息
    df = query_store_info_from_db()
    
    # 3. 导出Excel文件
    now = datetime.datetime.now().strftime('%Y%m%d_%H%M')
    output_filepath = os.path.join(
        CONFIG['output_dir'], 
        f"{CONFIG['output_filename_prefix']}{now}.xlsx"
    )
    
    try:
        with pd.ExcelWriter(output_filepath, engine='openpyxl') as writer:
            df.to_excel(writer, sheet_name='底表', index=False)
        print(f'文件已成功导出至: {output_filepath}')
    except Exception as e:
        print(f'导出Excel文件失败: {e}')
        return
    
    # 4. 发送文件到企业微信（默认注释，如需启用请取消注释）
    send_file_to_qywx(output_filepath)
    
    print("===== 主程序执行完毕 ====")


if __name__ == "__main__":
    main()